﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LastLand.Data.World
{
    public class CCharacter
    {
        private Int32 meleeLevel_;
        private Int32 rangedLevel_;
        private Int32 siegeLevel_;
        private Int32 horseLevel_;
        private Int32 armorLevel_;
        private Int32 shieldLevel_;

        private Int32 hp_;
        private Int32 meleeAttack_;
        private Int32 rangedAttack_;
        private Int32 siegeAttack_;
        private Int32 armor_;
        private Int32 shield_;

        private Int32 hammer_;
        private Int32 gold_;

        private CWorldGrid position_;
        private CCountry country_;
        private CCombat combat_;

        public CCharacter()
        {
            meleeLevel_ = 0;
            rangedLevel_ = 0;
            siegeLevel_ = 0;
            horseLevel_ = 0;
            armorLevel_ = 0;
            shieldLevel_ = 0;

            hp_ = 3;
            meleeAttack_ = 1;
            rangedAttack_ = 0;
            siegeAttack_ = 0;
            armor_ = 0;
            shield_ = 0;

            hammer_ = 0;
            gold_ = 0;

            position_ = null;
            country_ = null;
            combat_ = null;
        }

        public CWorldGrid Position
        {
            get { return position_; }
            set { position_ = value; }
        }

        public CCountry Country
        {
            get { return country_; }
            set { country_ = value; }
        }

        public Int32 MeleeLevel
        {
            get { return meleeLevel_; }
            set { meleeLevel_ = value; }
        }

        public Int32 RangedLevel
        {
            get { return rangedLevel_; }
            set { rangedLevel_ = value; }
        }

        public Int32 SiegeLevel
        {
            get { return siegeLevel_; }
            set { siegeLevel_ = value; }
        }

        public Int32 HorseLevel
        {
            get { return horseLevel_; }
            set { horseLevel_ = value; }
        }

        public Int32 ArmorLevel
        {
            get { return armorLevel_; }
            set { armorLevel_ = value; }
        }

        public Int32 ShieldLevel
        {
            get { return shieldLevel_; }
            set { shieldLevel_ = value; }
        }

        public Int32 Hammer
        {
            get { return hammer_; }
            set { hammer_ = value; }
        }

        public Int32 Gold
        {
            get { return gold_; }
            set { gold_ = value; }
        }

        public CCombat Combat
        {
            get { return combat_; }
            set { combat_ = value; }
        }

        public Int32 HP
        {
            get { return hp_; }
            set { hp_ = value; }
        }

        public Int32 MeleeAttack
        {
            get { return meleeAttack_; }
            set { meleeAttack_ = value; }
        }

        public Int32 RangedAttack
        {
            get { return rangedAttack_; }
            set { rangedAttack_ = value; }
        }

        public Int32 SiegeAttack
        {
            get { return siegeAttack_; }
            set { siegeAttack_ = value; }
        }

        public Int32 Armor
        {
            get { return armor_; }
            set { armor_ = value; }
        }

        public Int32 Shield
        {
            get { return shield_; }
            set { shield_ = value; }
        }
    }
}
